import * as api from '../../utils/api';
import * as util from '../../utils/util';

Page({
    data: {
        isBound: false,         // 是否已绑定设备码
        isChange: false,       // 是否在修改设备码
        device_id: '',         // 设备码
        deviceInput: '',    // 用户输入的设备码
    },

    // 获取绑定的设备码
    onLoad: function () {
        const app = getApp();
        if (!app.globalData.token) {
            // 登录
            api.my_login().then(loginData => {
                console.log('登录成功:', loginData);
                this.setData({
                    isBound: app.globalData.isBound,
                    device_id: app.globalData.device_id
                })
            }).catch(error => {
                console.error('登录失败:', error);
            });
        } else {
            this.setData({
                isBound: app.globalData.isBound,
                device_id: app.globalData.device_id
            })
        }
    },

    // 绑定设备码
    bindDeviceCode: function () {
        console.warn(this.data)
        const app = getApp();
        const deviceCode = this.deviceInput;
        console.warn(deviceCode)
        if (deviceCode) {
            // 请求绑定设备码
            api.my_post(`/bind_device`, {"device_id": deviceCode}).then((data) => {
                // 绑定成功，更新全局变量
                console.warn(data);
                app.globalData.isBound = true;
                app.globalData.device_id = deviceCode;
                this.setData({
                    isBound: true,
                    device_id: deviceCode,
                    isChange: false
                })
                console.warn(app.globalData);
            }).catch((error) => {
                console.error('请求失败:', error);
            });
        }
    },

    // 修改设备码
    editDeviceCode: function () {
        if (this.data.isChange) {
            this.setData({
                isChange: false
            });
        } else {
            this.setData({
                isChange: true
            });
        }

    },

    // 输入设备码辅助函数
    bindKeyInput: function (e) {
        this.deviceInput = String(e.detail.value).trim();
    },
});
